const { parentPort, workerData } = require('worker_threads')
const path = require('path')

// 初始化工作线程
console.log(`工作线程 ${process.pid} 已启动`)

// 从主线程接收数据
parentPort.on('message', async (data) => {
  try {
    // 从workerData获取配置
    const { config } = workerData
    console.log('工作线程接收到配置:', config)

    // 执行主要任务
    const result = await performTask(data, config)

    // 将结果发送回主线程
    parentPort.postMessage({
      success: true,
      result: result
    })
  } catch (error) {
    console.error('工作线程执行出错:', error)
    parentPort.postMessage({
      success: false,
      error: error.message
    })
  }
})

// 执行具体任务的函数
async function performTask(data, config) {
  // 这里实现具体的任务逻辑
  // 示例：处理数据并返回结果
  console.log('执行任务，数据:', data)
  return {
    processed: data,
    timestamp: Date.now(),
    threadId: process.pid
  }
}

// 向主线程发送就绪信号
parentPort.postMessage({ ready: true })
